#include "UART.h"
#include "digitaltube.h"

#define RELOAD_COUNT 0xFA //宏定义波特率发生器的载入值 9600



void UART_Init(void)
{
	SCON=0X50;			//设置为工作方式1
	TMOD=0X20;			//设置计数器工作方式2
	PCON=0X80;			//波特率加倍
	TH1=RELOAD_COUNT;	//计数器初始值设置
	TL1=TH1;
	ES=1;				//打开接收中断
	EA=1;				//打开总中断
	TR1=1;				//打开计数器
}

void UART_SendByte(u8 dat)
{
	ES=0; //关闭串口中断
	TI=0; //清发送完毕中断请求标志位
	SBUF=dat; //发送
	while(TI==0); //等待发送完毕
	TI=0; //清发送完毕中断请求标志位
	ES=1; //允许串口中断
}



void BlueTooth_Init(void)
{
	UART_Init();
}

void BlueTooth_SendData(u8 dat)
{
	UART_SendByte(dat);
}

void Blue_DataPros(u8 dat)
{
//	DisPlayData[0] = smgduan[dat/16];
//	DisPlayData[1] = smgduan[dat%16];	
    DisPlayData[0] = dat/16;
    DisPlayData[1] = dat%16;    
}

u8 USART_RX_BUF[USART_MAX_RECV_LEN];

void Uart() interrupt 4
{
	if(RI) {
		USART_RX_BUF[0]=SBUF;
        UART_SendByte(SBUF);
		RI = 0;//清除接收中断标志位
	}								 
}

/**
  * @brief  串口发送一个字节数据
  * @param  Byte 要发送的一个字节数据
  * @retval 无
  */
//void UART_SendByte(unsigned char Byte)
//{
//	SBUF=Byte;
//	while(TI==0);
//	TI=0;
//}

/*串口中断函数模板
void UART_Routine() interrupt 4
{
	if(RI==1)
	{
		
		RI=0;
	}
}
*/
